// utils/parsePath.js
export function parseArchivePath(fullPath) {
  // 统一处理Windows路径分隔符（\或/）
  const normalizedPath = fullPath.replace(/\\/g, '/').split('/');

  // 过滤空值（如网络路径开头的空字符）
  const segments = normalizedPath.filter(seg => seg.trim() !== '');

  let yearIndex = -1;
  for (let i = 0; i < segments.length; i++) {
    if (/^\d{4}$/.test(segments[i])) { // 匹配“2019”
      yearIndex = i;
      break;
    }
  }

  if (yearIndex === -1) {
    return;
  }

  // 提取案卷级（年+月）
  const year = segments[yearIndex];
  if (yearIndex + 1 >= segments.length) {
    throw new Error("路径中未找到月份格式的文件夹");
  }
  const month = segments[yearIndex + 1]?.replace('月', '').replace('\.', ''); // 处理“9月”->“9”
  const archiveLevel = `${year}年${month}月`;

  if (yearIndex + 2 >= segments.length) {
    throw new Error("路径中未找到文件级日期格式的文件夹");
  }
  // 提取文件级日期（如“9.18”）
  const dateSegment = segments[yearIndex + 2];
  let fileDate = '';
  if (dateSegment.indexOf('.') === -1) {
    // 如果没有点，直接取最后两位作为日期
    dateSegment.length >= 2 ? fileDate = dateSegment.slice(-2) : fileDate = dateSegment;
  } else {
    fileDate = dateSegment ? (dateSegment.split('.').pop() || '') : '';
  }

  let title = '';
  // 文件题名（最后一个文件夹名）
  if (segments.length >= 2) {
    title = segments[segments.length - 2];
  }

  return {
    year,
    month,
    archiveLevel, // 案卷级：2019年9月
    fileDate,     // 文件级日期：9.18
    title,        // 文件题名：传奇文化
    fullPath      // 原始路径（可选）
  };
}